package ctr.eleve;

import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.JButton;
import javax.swing.JOptionPane;

import jdbc.Connexion;
import metier.Eleve;
import metier.jdbc.eleve.EleveJdbc;
import vue.MenuControle;
import vue.eleve.JPanSupprimerEleve;
import configuration.MessageAppli;

public class GestSupprimerEleve implements ActionListener {

	private JPanSupprimerEleve jPanSupprimerEleve;
	
	@Override
	public void actionPerformed(ActionEvent actionEvent) {
		if (actionEvent.getSource() instanceof JButton) {
			rechercherEleve();
		}
	}
	
	/**
	 * @param jPanSupprimerEleve
	 */
	public GestSupprimerEleve(JPanSupprimerEleve jPanSupprimerEleve){
		this.jPanSupprimerEleve = jPanSupprimerEleve;
	}
	
	/**
	 * Rechercher l'eleve.
	 */
	private void rechercherEleve(){
		// Recherche de l'eleve.
		Eleve eleve = jPanSupprimerEleve.getEleve();
		if ( eleve != null ){
			// Demande de confirmation.
			int reponse = JOptionPane.showConfirmDialog(jPanSupprimerEleve, MessageAppli.MSG_ELEVE_CONFIRM_SUPP, MessageAppli.MSG_TITRE_INFO, JOptionPane.OK_CANCEL_OPTION);
			if (reponse == 0){
				// Suppression.
				if ( EleveJdbc.supprimer(Connexion.getConnexion(), eleve) ){
					// Message de confirmation de suppression.
					JOptionPane.showMessageDialog(jPanSupprimerEleve, MessageAppli.MSG_ELEVE_SUPP_CONFIRME, MessageAppli.MSG_TITRE_INFO, JOptionPane.INFORMATION_MESSAGE);
					MenuControle.afficherPan(new JPanSupprimerEleve(jPanSupprimerEleve.getTitre()));
				}else{
					JOptionPane.showMessageDialog(jPanSupprimerEleve, MessageAppli.MSG_ELEVE_PB_SUPPRESSION, MessageAppli.MSG_TITRE_INFO, JOptionPane.INFORMATION_MESSAGE);
				}
			}
		}else{
			JOptionPane.showMessageDialog(jPanSupprimerEleve, MessageAppli.MSG_ELEVE_INEXSITANT, MessageAppli.MSG_TITRE_INFO, JOptionPane.WARNING_MESSAGE);
			MenuControle.afficherPan(new JPanSupprimerEleve(jPanSupprimerEleve));
		}
	}
}
